In machine-to-machine (M2M) radio communications, a multitude of remote data terminals exchange data with an application server. The remote data terminals communicate wirelessly with a radio access network that relays data via a gateway to the Internet or an intranet, as shown in FIG. 1.
Where the radio access network is a traditional low data rate satellite network as shown in FIG. 2, a multitude of remote data terminals exchange data with a satellite gateway in the form of messages that are transmitted over satellite links. These satellite communications use a highly bit-efficient data encoding in order to minimize cost. The satellite gateway, in turn, exchanges data with a multiplicity of application servers. Each remote data terminal communicates with a specific application server, with the communications being mediated by the satellite gateway. The application server may provide access to an end user, for example, through a web browser.
The communications between gateway and an application server use Internet-based protocols. The satellite gateway is non-transparent; that is, the application server sets up a TCP connection to communicate explicitly with the satellite gateway, which in turn sets up TCP connections to exchange messages with the server's associated remote data terminals.
In traditional cellular M2M communications, remote data terminals send and receive data in the form of messages from an application server. Cellular communications occur between a remote data terminal and a cellular base station, which is connected via the cellular core network to an Internet-based network. The application server communicates with the remote data terminals via the Internet-based network. The cellular gateway is an IP router that typically also performs NAT (Network Address Translation), which maps between the private IP address space used in the cell network to the public IP address space used on the Internet. The operation of this cellular gateway is transparent; that is, the terminals and application server communicate as if they were directly connected to one another as shown in FIG. 3.
Some remote data terminals support both cellular and satellite communications, as shown in FIG. 4. These terminals are referred to as dual mode terminals. Before the application server can transmit data to a dual mode terminal it must choose which transport route it will use. The same is true of the dual mode terminal when it has data to transmit, but the dual mode terminal was designed with this decision process in mind. The designers of most M2M application servers did not anticipate the need to support dual mode terminals, and adding this capability after the fact is often difficult.
FIG. 5 shows the connections associated with a fleet of dual mode terminals, with the connection arrows pointing at the server side of the client-server relationships. TCP (Transmission Control Protocol) is most often used as the transport layer protocol providing these connections, although UDP (User Datagram Protocol) is sometimes used in cellular M2M data networks. In the case of the cellular network 15, remote terminals 161, 162, 163 wishing to communicate with the application server 10 set up TCP connections 111, 112, 113 via the cellular network with the application server 10. If cellular service is not available, the application server 10 can set up a shared TCP connection with the satellite gateway 14, which in turn sets up separate satellite connections to the individual terminals 161, 162, 163.
One of the obstacles to be overcome when attempting to integrate support for satellite data terminals into a cellular-centric application server is that the application server expects to communicate as if it is directly connected to the remote data terminals, whereas with satellite data communications it must first establish a connection to the satellite gateway and then use that connection to exchange data with the satellite remote data terminals.
The application server expects to receive incoming connections, e.g., TCP sessions, from remote data terminals, whereas with satellite data communications the application server is responsible for initiating the connection. It also expects to have a one-to-one relationship between connections and remote data terminals, whereas with satellite data communications, one TCP session is currently used to exchange data for multiple remote data terminals.
The application server does not expect to have more than one connection associated with a particular remote data terminal. When the application server wishes to send a message to a dual-mode satellite/cellular data terminal it must decide whether to send it via satellite or cellular.
An application server designed to communicate directly with cellular remote data terminals would require substantial enhancements and added complexity to communicate directly with the satellite only terminals or the dual mode terminals 161, 162, 163 via the satellite gateway 14.
Another issue is the data encoding, which determines how a message data is to be encoded and decoded. In the current state of the art, cellular data terminals use proprietary data encodings and therefore the application servers typically support a variety of data encodings so that they can support data terminals from a variety of manufacturers. These application servers are thus designed to allow the easy addition of new encodings.
The application server includes a connection state machine that consists of the set of rules governing how a connection is established and torn down and how various success and failure conditions are handled. Most cellular data terminals have similar requirements for the connection state machine on the application server. There are variations depending on whether TCP or UDP is used as the transport layer protocol, but otherwise the behaviours are largely determined by the (standardized) workings of the cellular networks and the types of connectivity failures that are likely to occur on such a network. Application servers are only designed to support a narrow range of variation in the connection state machine, and this limitation is the major obstacle to integrating satellite service into a cellular-centric M2M network.